import xlwt,xlrd
from xlutils.copy import copy
import os
import sys
from ulits.excelclass import Excel
d = os.path.dirname(__file__)
parent_path = os.path.dirname(d)
sys.path.append(parent_path)
file_path = parent_path + '/data/goods_info.xls'
excel = Excel(file_path)
class Goods(object):
    def __init__(self):
        self.sname='商品信息'
    #商品查询登录后:
    def find(self):
        excel.find_data(self.sname)
        num=input('返回,Q/q:').strip()
        if num.upper()=='Q':
            self.vive()
        else:
            print('无效输入')
    def find_nologin(self):
        excel.find_data(self.sname)
    #商品添加
    def add(self):
        num=input('商品添加,G/g:返回,Q/q:').strip()
        if num.upper()=='Q':
            self.vive()
        elif num.upper()=='G':
            list_goods=[]
            goods_id=input('输出商品ID:').strip()
            list_goods.append(goods_id)
            goods_name=input('输出商品名称:').strip()
            list_goods.append(goods_name)
            goods_price=int(input('输出商品价格:').strip())
            list_goods.append(goods_price)
            goods_amount=int(input('输出商品数量:').strip())
            list_goods.append(goods_amount)
            goods_sell_id=input('输出商家ID:').strip()
            list_goods.append(goods_sell_id)
            excel.add_data(list_goods)
            print('添加成功')
            self.add()
    #商品删除，指定商品
    def delete(self):
        num=input('输入你要删除商品的ID,返回,Q/q:').strip()
        if num.upper()=='Q':
            self.vive()
        else:
            excel.delete_data(self.sname,num)
            self.delete()
    #商品修改
    def update(self):
        num=input('输入你要修改商品的ID:返回,Q/q:').strip()
        if num.upper()=='Q':
            self.vive()
        else:
            delete_rd=xlrd.open_workbook(file_path)
            sheet=delete_rd.sheet_by_name(self.sname)
            list_col=sheet.col_values(0)
            if num in list_col:
                row=list_col.index(num)
                list_values=sheet.row_values(row)
                print('你要修改的商品信息如下')
                for i in list_values:
                    print(i,end=' '*6)
                print('')
                list_title=sheet.row_values(0)
                for i,j in enumerate(list_title,1):
                    print(i,j)
                print('***提升:该功能仅只能修改价格和数量***')
                choice=int(input('输入要修改属性对应的编号:').strip())
                comment=int(input('请输入你要修改的新值:').strip())
                list_values[choice-1]=comment
                excel.update_data(self.sname,num,list_values)
                print('修改成功')
                self.update()
            else:
                print('没有相关信息')
    def vive(self):
        print('''
            1.查看商品
            2.添加商品
            3.删除商品
            4.修改商品
            5.退出''')